package com.fishingwithme.android.ui.theme

import androidx.compose.ui.graphics.Color
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.fishingwithme.android.R

// 颜色常量
object AppColors {
    // 主色调
    val PRIMARY = Color(0xFF07C160)
    val PRIMARY_DARK = Color(0xFF00513C)
    val PRIMARY_LIGHT = Color(0xFF90F4C1)
    
    // 次要色调
    val SECONDARY = Color(0xFF607D8B)
    val SECONDARY_DARK = Color(0xFF263238)
    val SECONDARY_LIGHT = Color(0xFFCFD8DC)
    
    // 第三色调
    val TERTIARY = Color(0xFF616161)
    val TERTIARY_DARK = Color(0xFF424242)
    val TERTIARY_LIGHT = Color(0xFFE0E0E0)
    
    // 错误颜色
    val ERROR = Color(0xFFD32F2F)
    val ERROR_DARK = Color(0xFFC62828)
    val ERROR_LIGHT = Color(0xFFFFEBEE)
    
    // 文本颜色
    val TEXT_PRIMARY = Color(0xFF212121)
    val TEXT_SECONDARY = Color(0xFF424242)
    val TEXT_LIGHT = Color(0xFFE0E0E0)
    
    // 背景颜色
    val BACKGROUND_LIGHT = Color(0xFFFFFFFF)
    val BACKGROUND_DARK = Color(0xFF1E1E1E)
    val SURFACE_LIGHT = Color(0xFFFFFFFF)
    val SURFACE_DARK = Color(0xFF1E1E1E)
    val SURFACE_VARIANT_LIGHT = Color(0xFFF5F5F5)
    val SURFACE_VARIANT_DARK = Color(0xFF2D2D2D)
    
    // 边框颜色
    val OUTLINE_LIGHT = Color(0xFFBDBDBD)
    val OUTLINE_DARK = Color(0xFF424242)
    val OUTLINE_VARIANT_LIGHT = Color(0xFFE0E0E0)
    val OUTLINE_VARIANT_DARK = Color(0xFF424242)
    
    // 其他颜色
    val WHITE = Color(0xFFFFFFFF)
    val BLACK = Color(0xFF000000)
    val GRAY = Color(0xFF808080)
    val LIGHT_GRAY = Color(0xFFF5F5F5)
}

// 尺寸常量
object AppDimensions {
    // 间距
    val SPACING_2 = 2.dp
    val SPACING_4 = 4.dp
    val SPACING_8 = 8.dp
    val SPACING_12 = 12.dp
    val SPACING_16 = 16.dp
    val SPACING_20 = 20.dp
    val SPACING_24 = 24.dp
    val SPACING_32 = 32.dp
    val SPACING_40 = 40.dp
    val SPACING_48 = 48.dp
    val SPACING_64 = 64.dp
    
    // 组件尺寸
    val ICON_SIZE_16 = 16.dp
    val ICON_SIZE_20 = 20.dp
    val ICON_SIZE_24 = 24.dp
    val ICON_SIZE_32 = 32.dp
    val ICON_SIZE_48 = 48.dp
    val ICON_SIZE_60 = 60.dp
    val ICON_SIZE_64 = 64.dp

    val ICON_SIZE_96 = 96.dp
    val ICON_SIZE_100 = 100.dp
    val ICON_SIZE_120 = 120.dp
    val ICON_SIZE_140 = 140.dp
    
    // 按钮尺寸
    val BUTTON_HEIGHT_40 = 40.dp
    val BUTTON_HEIGHT_48 = 48.dp
    val BUTTON_HEIGHT_60 = 60.dp
    
    // 圆角
    val ROUNDED_CORNER_2 = 2.dp
    val ROUNDED_CORNER_4 = 4.dp
    val ROUNDED_CORNER_8 = 8.dp
    val ROUNDED_CORNER_12 = 12.dp
    val ROUNDED_CORNER_16 = 16.dp
    val ROUNDED_CORNER_24 = 24.dp
    val ROUNDED_CORNER_50 = 50.dp
    
    // 边框宽度
    val BORDER_WIDTH_0 = 0.dp
    val BORDER_WIDTH_1 = 1.dp
    val BORDER_WIDTH_2 = 2.dp
    
    // 卡片高度
    val CARD_ELEVATION_2 = 2.dp
    val CARD_ELEVATION_4 = 4.dp
    val CARD_HEIGHT_48 = 48.dp
    val CARD_HEIGHT_150 = 150.dp
    val CARD_HEIGHT_200 = 200.dp
    val CARD_HEIGHT_267 = 267.dp


    val BUTTON_HEIGHT_36 = 36.dp
}

// 排版常量
object AppTypography {
    // 字体大小
    val FONT_SIZE_12 = 12.sp
    val FONT_SIZE_14 = 14.sp
    val FONT_SIZE_16 = 16.sp
    val FONT_SIZE_18 = 18.sp
    val FONT_SIZE_20 = 20.sp
    val FONT_SIZE_24 = 24.sp
    val FONT_SIZE_32 = 32.sp
    
    // 行高
    val LINE_HEIGHT_16 = 16.sp
    val LINE_HEIGHT_20 = 20.sp
    val LINE_HEIGHT_24 = 24.sp
    val LINE_HEIGHT_28 = 28.sp
    val LINE_HEIGHT_32 = 32.sp
    val LINE_HEIGHT_36 = 36.sp
    val LINE_HEIGHT_44 = 44.sp
}

val LVL_ICONS = mapOf<Int,Int>(
    Pair(1, R.mipmap.lvl_11),
    Pair(2, R.mipmap.lvl_12),
    Pair(3, R.mipmap.lvl_13),
    Pair(4, R.mipmap.lvl_14),
    Pair(5, R.mipmap.lvl_15),
    Pair(6, R.mipmap.lvl_16),
    Pair(7, R.mipmap.lvl_17),
    Pair(8, R.mipmap.lvl_18),
    Pair(9, R.mipmap.lvl_19),
    Pair(10, R.mipmap.lvl_20),
)